正则小应用:批量修改文件名

您所在的位置:网站首页 shell 修改文件名 正则小应用:批量修改文件名

正则小应用:批量修改文件名

2023-04-15 15:56| 来源: 网络整理| 查看: 265

最近接手了一个新项目,设计师给了很多图片,比如其中一个文件夹是:

因为名字是中文的,所以是不能直接扔到项目里的。

因此一个需求就冒了出来,如何批量修改文件名?

我最开始想到的是使用cmd,比如for + ren等。试了几下,最后没能满足我的需求。

其实,简单的shell命令,还可以百度下,更多的我就不懂了。

我的需求是什么呢?

【拔萝卜-1.png】=>【baluobo01.png】

后来突然想到,我为啥不用用node?

其实个人没有在项目里用它的经验。但百度一下相关API,尝试一下,没想到几分钟就搞定了!

代码如下(rename.js):

let fs = require('fs') let files = fs.readdirSync('./') files.forEach(v => { if (/(\d+\.jpg)/.test(v)) { fs.rename(v, 'baluobo' + RegExp.$1.padStart(6, '0'), () => {}) } })

下面是我录的效果:

最后看一下正则那块儿:

/(\d+\.jpg)/.test(v)

当 v 是 "拔萝卜-1.png" 时,正则里括号捕捉的,即RegExp.$1,是 "1.png",后面再用 "0" 补齐成6个字符串。

代码相对,很简单,如果不清楚,欢迎看正则表达式括号的作用。

正则又一次帮到了我。

本文完。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3